package com.aura.springbook.model.vo;

import com.aura.springbook.common.enums.BorrowStatusEnum;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 借阅记录VO类
 */
@Data
public class BorrowRecordVO {
    /**
     * 借阅记录的唯一标识
     */
    private Long id;

    /**
     * 借阅图书的标题，便于用户识别
     */
    private String bookTitle;

    /**
     * 图书被借阅的时间
     */
    private LocalDateTime borrowTime;

    /**
     * 借阅记录的当前状态
     */
    private Integer status;

    /**
     * 图书被归还的时间，未归还时为 null
     */
    private LocalDateTime returnTime;

    /**
     * 获取状态描述  将状态码转换为可读的状态描述
     *
     * @return 状态描述
     */
    public String getStatusDescription() {
        if (this.status != null) {
            try {
                return BorrowStatusEnum.fromCode(this.status).getDescription();
            } catch (IllegalArgumentException e) {
                return "未知状态";
            }
        }
        return "未知状态";
    }
}